/*
 * CudaAESOperations.h
 *
 *  Created on: Feb 20, 2010
 *      Author: lukasz
 */

#ifndef CUDAAESOPERATIONS_H_
#define CUDAAESOPERATIONS_H_
#include "ph.h"
#include "aesUtils.h"

void byteSub(byte* state, const NB nb);

//void byteSubOld(byte* state, const NB nb);

void shiftRow(byte* state, const NB nb);

void mixColumn(byte* state, const NB nb);

void addRoundKey(byte* state, byte* key, const NB nb);

void expandKey(byte* key, NB keysize, byte * W1, NB nb, int round);

void aesRound(byte* state, byte* eKey, const NB nb);

void aesEncryptBlock(byte* state, byte* eKey, const NB nb, const NB nk);

void aesEncryptInit();

#endif /* CUDAAESOPERATIONS_H_ */
